package com.util;

/**
 * @ClassName: AreaUtils
 * @Description:
 * @Version: v1.0.0
 * @Author: Fu Hao
 * @Date: 2021/6/26 0026 上午 11:01
 * Modification History:
 * Date           Author      Version     Description
 * -------------------------------------------------------------
 * 2021/6/26 0026        Fu Hao      v1.0.0         创建
 */
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import com.config.AreaConfig;
import com.pojo.Area;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.List;

@Component
public class AreaUtils {

    /**
     * 获取配置信息
     */
    @Resource
    private AreaConfig areaConfig;

    /**
     * 获取行政区划方法
     *
     * @param param       规则：只支持单个关键词语搜索关键词支持：行政区名称、cityCode、adCode
     * @param subDistrict 规则：设置显示下级行政区级数（行政区级别包括：国家、省/直辖市、市、区/县4个级别）
     *                    <p>
     *                    可选值：0、1、2、3
     *                    <p>
     *                    0：不返回下级行政区；
     *                    <p>
     *                    1：返回下一级行政区；
     *                    <p>
     *                    2：返回下两级行政区；
     *                    <p>
     *                    3：返回下三级行政区；
     * @return list
     */
    public List<Area> getInfo(String param, String subDistrict) {
        String result = HttpUtil.sendGet(areaConfig.getUrl(), "keywords=" + param + "&subdistrict=" + subDistrict + "&key=" + areaConfig.getKey());
        JSONObject jsonObject = JSON.parseObject(result);
        String country = jsonObject.getString("districts");
        return JSON.parseArray(country, Area.class);
    }

}
